package job2;

import java.util.Iterator;
import java.util.LinkedList;
import java.util.List;

/*
分析以下需求，并用代码实现：
(1)定义一个Worker类型(属性私有、空参有参构造、set、get方法、toString方法、equals方法、hashCode方法)，
包含三个属性：姓名(String name)、年龄(int age)、工资(double salary),在Worker类中定义work方法打印一句话，
如："凤姐 正在工作"，其中"凤姐"代表当前对象的姓名

(2)定义List集合，在List集合中增加三个员工，基本信息如下：  "凤姐" 18 20000  "欧阳峰" 60 8000  "刘德华" 40 30000

(3)在"欧阳峰"之前插入一个员工，信息为：姓名："张柏芝"，年龄：35，工资3300

(4)删除"刘德华"的信息

(5)利用for 循环遍历，打印List 中所有员工的信息

(6)利用迭代遍历，对List 中所有的员工调用work 方法

(7)为Worker类重写equals 方法，当姓名、年龄、工资全部相等时候才返回true
 */
public class Main {
    public static void main(String[] args) {
        List<Worker> workers = new LinkedList<>();
//        在List集合中增加三个员工
        workers.add(new Worker( "凤姐",18,20000));
        workers.add(new Worker( "欧阳峰",60,8000));
        workers.add(new Worker( "刘德华",40,30000));
//        (3)在"欧阳峰"之前插入一个员工，信息为：姓名："张柏芝"，年龄：35，工资3300
        workers.add(1, new Worker("张柏芝", 35, 3300));

//        (4)删除"刘德华"的信息
        workers.remove(3);
//        (5)利用for 循环遍历，打印List 中所有员工的信息
        for (Worker worker : workers) System.out.println(worker);
//        (6)利用迭代遍历，对List 中所有的员工调用work 方法
        Iterator<Worker> iterator = workers.iterator();
        while (iterator.hasNext()) iterator.next().work();
    }

}


